﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entidades;
using System.Data.SqlClient;
using System.Data;

namespace AccesoDatos
{
    public class RolAD
    {
        public static List<Rol> SelectAll()
        {
            List<Rol> ListaRoles = new List<Rol>();
            SqlConnection conexion = new SqlConnection(Conexion.CadenaConexion);
            try
            {
                conexion.Open();
                string sql = "PA_Rol_SelectAll";
                SqlCommand comando = new SqlCommand(sql, conexion);
                comando.CommandType = CommandType.StoredProcedure;
                SqlDataReader reader = comando.ExecuteReader();
                while (reader.Read())
                {
                    Rol nuevoRol = new Rol();
                    nuevoRol.Codigo = Convert.ToInt32(reader["Codigo"].ToString());
                    nuevoRol.Nombre = reader["Nombre"].ToString();
                    ListaRoles.Add(nuevoRol);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conexion.Close();
            }
            return ListaRoles;
        }

        public static Rol Buscar(int codigo)
        {
            Rol nuevoRol =new Rol();
            SqlConnection conexion = new SqlConnection(Conexion.CadenaConexion);
            try
            {
                conexion.Open();
                string sql = "PA_Rol_Buscar";
                SqlCommand comando = new SqlCommand(sql, conexion);
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.AddWithValue("@Codigo", codigo);
                SqlDataReader reader = comando.ExecuteReader();
                reader.Read();
                nuevoRol.Codigo = Convert.ToInt32(reader["Codigo"].ToString());
                nuevoRol.Nombre = reader["Nombre"].ToString();                
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conexion.Close();
            }
            return nuevoRol;
        }
    }
}
